package pe.edu.upc.dew.Grupo1.web;

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.web.context.support.WebApplicationContextUtils;

import pe.edu.upc.dew.Grupo1.model.Local;
import pe.edu.upc.dew.Grupo1.model.Pelicula;
import pe.edu.upc.dew.Grupo1.model.Funcion;
import pe.edu.upc.dew.Grupo1.model.Sala;
import pe.edu.upc.dew.Grupo1.model.Usuario;
import pe.edu.upc.dew.Grupo1.service.FuncionService;
import pe.edu.upc.dew.Grupo1.service.PeliculaService;

public class DetalleCarteleraServlet extends HttpServlet {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private PeliculaService peliculaService;
	private FuncionService funcionService;
	
	@Override
	public void init(ServletConfig config) throws ServletException {
		this.peliculaService = WebApplicationContextUtils
				.getWebApplicationContext(config.getServletContext()).getBean(
						"peliculaService", PeliculaService.class);
		
		this.funcionService = WebApplicationContextUtils
		.getWebApplicationContext(config.getServletContext()).getBean(
				"funcionService", FuncionService.class);
	}
	
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
				
		String paramCodigoPelicula=req.getParameter("codigoPelicula");
		String paramCodigoLocal=req.getParameter("codigoLocal");
			
		if(paramCodigoPelicula!= null && !paramCodigoPelicula.equals("") &&
				paramCodigoLocal!= null && !paramCodigoLocal.equals(""))
		{			
			int codigoPelicula=Integer.parseInt(paramCodigoPelicula);
			int codigoLocal=Integer.parseInt(paramCodigoLocal);
			
			Pelicula pelicula = peliculaService.GetPeliculaPorCodigo(codigoPelicula);
			
			Funcion funcion=new Funcion();
			Sala sala=new Sala();
			
			Local local=new Local();
			local.setCodigoLocal(codigoLocal);
			
			sala.setLocal(local);
			
			funcion.setSala(sala);
			funcion.setPelicula(pelicula);
			
			List<Funcion> funciones=funcionService.GetFuncionesPorPeliculaLocal(funcion);
			
			req.setAttribute("pelicula", pelicula);
			req.setAttribute("funciones", funciones);
		}
		
		req.getRequestDispatcher("deta_car.jsp").forward(req,resp);
	}
}
